package display;
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.springframework.web.context.*;

import domain.DependienteRepository;
import domain.Dependiente;


/**
* Clase controladora de la actualizacion de Dependientes.
* @version 1, 5/10/2014
*/
public class ActualizarDependiente extends PageController {
  
  /** 
	 * obtiene los parametros del formulario de Bandas para ser actulizados. 	 	 	 
	 * @version 1, 5/10/2014	 
	 * @return void
	 */
  public void doGet(HttpServletRequest request,HttpServletResponse response)
    throws ServletException, IOException {

	  DependienteRepository objs = (DependienteRepository) context.getBean("dependienteRepository");
	    try {
    		
			String str_pk = request.getParameter("pk_dependiente");
			int pk_dependiente = Integer.parseInt(str_pk);
			String nombre = request.getParameter("nombre");
			String str_isActivo = request.getParameter("isActivo");
			int isActivo = -1;
			if(tryParseInt(str_isActivo)){isActivo = Integer.parseInt(str_isActivo);}
			String fechaIngreso = request.getParameter("fechaIngreso");
			String domicilio = request.getParameter("domicilio");
			String telefono = request.getParameter("telefono");

			Dependiente dependiente = objs.find(pk_dependiente);
			try {
				if (isActivo!=-1) dependiente.setIsActivo(isActivo);
				if (nombre!=null) dependiente.setNombre(nombre);
				if (fechaIngreso!=null) dependiente.setFechaIngreso(fechaIngreso);
				if (domicilio!=null) dependiente.setDomicilio(domicilio);
				if (telefono!=null) dependiente.setTelefono(telefono);				
				objs.update(dependiente);
			} catch (Exception e) {}
	      	response.sendRedirect("listaDependientes");
		} catch (Exception e) {
			request.setAttribute("mensaje",e.getMessage());
			forward("/paginaError.jsp",request,response);
		}
  }
  private boolean tryParseInt(String value)  
	{  
	     try  
	     {  
	         Integer.parseInt(value);  
	         return true;  
	      } catch(NumberFormatException nfe)  
	      {  
	          return false;  
	      }  
	}


}